home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 5 / BBS in a Box -Volume V (BBS in a Box) (April 1992).iso / Files / Prog / M / MacOberon.cpt / MacOberonToolBoxInterface.sit / MacQuickDraw.Mod (.txt) < prev    next >
Encoding:
Oberon Text  |  1990-08-30  |  4.5 KB  |  121 lines  |  [.Ob./.Ob*]

  1. Syntax10.Scn.Fnt
  2. MODULE MacQuickDraw;    (* Macintosh OS Interface Module    Michael Franz, 30.08.90    Incomplete Definiton *)
  3. IMPORT
  4.     TY:= MacTypes, SYSTEM;
  5. CONST
  6.     (* Transfer Modes *)
  7.         srcCopy*= 0;    srcOr*= 1;    srcXor*= 2;    srcBic*= 3;
  8.         notSrcCopy*= 4;    notSrcOr*= 5;    notSrcXor*= 6;    notSrcBic*= 7;
  9.         patCopy*= 8;    patOr*= 9;    patXor*= 10;    patBic*= 11;
  10.         notPatCopy*= 12;    notPatOr*= 13;    notPatXor*= 14;    notPatBic*= 15;
  11.     (* Colors *)
  12.         blackColor*= 33;    whiteColor*= 30;
  13.     Pattern*= ARRAY + 8 OF TY.PackedByte;
  14.     PatPtr*= POINTER + TO Pattern;
  15.     PatAnchor*= RECORD + p*: PatPtr END;
  16.     PatHandle*= POINTER + TO PatAnchor;
  17.     BitMap*= RECORD +
  18.         baseAddr*: TY.Ptr;
  19.         rowBytes*: INTEGER;
  20.         bounds*: TY.Rect
  21.     END;
  22.     Bits16= ARRAY + 16 OF INTEGER;
  23.     Cursor*= RECORD +
  24.         data*, mask*: Bits16;
  25.         hotSpot*: TY.Point
  26.     END;
  27.     CursPtr*= POINTER + TO Cursor;
  28.     CursAnchor*= RECORD + p*: CursPtr END;
  29.     CursHandle*= POINTER + TO CursAnchor;
  30.     PenState*= RECORD +
  31.         pnLoc*, pnSize*: TY.Point;
  32.         pnMode*: INTEGER;
  33.         pnPat*: Pattern
  34.     END;
  35.     Region*= RECORD + (TY.Data)
  36.         rgnSize*: INTEGER;
  37.         rgnBBox*: TY.Rect;
  38.     END;
  39.     RgnPtr*= POINTER + TO Region;
  40.     RgnAnchor*= RECORD + p*: RgnPtr END;
  41.     RgnHandle*= POINTER + TO RgnAnchor;
  42.     Picture*= RECORD +
  43.         picSize*: INTEGER;
  44.         picFrame*: TY.Rect
  45.     END;
  46.     PicPtr*= POINTER + TO Picture;
  47.     PicAnchor*= RECORD + p*: PicPtr END;
  48.     PicHandle*= POINTER + TO PicAnchor;
  49.     Polygon*= RECORD +
  50.         polySize*: INTEGER;
  51.         polyBBox*: TY.Rect;
  52.         polyPoints*: TY.Point
  53.     END;
  54.     PolyPtr*= POINTER + TO Polygon;
  55.     PolyAnchor*= RECORD + p*: PolyPtr END;
  56.     PolyHandle*= POINTER + TO PolyAnchor;
  57.     QDProcs = RECORD +
  58.         textProc, lineProc, rectProc, rRectProc, ovalProc, arcProc, polyProc,
  59.         rgnProc, bitsProc, commentProc, txMeasProc, getPicProc, putPicProc: TY.ProcPtr
  60.     END;
  61.     QDProcsPtr = POINTER + TO QDProcs;
  62.     GrafPort*= RECORD +
  63.         device: INTEGER;
  64.         portBits*: BitMap;
  65.         portRect*: TY.Rect;
  66.         visRgn*, clipRgn*: RgnHandle;
  67.         bkPat*, fillPat*: Pattern;
  68.         pnLoc*, pnSize*: TY.Point;
  69.         pnMode*: INTEGER;
  70.         pnPat*: Pattern;
  71.         pnVis*: INTEGER;
  72.         txFont*, txFace*, txMode*, txSize*: INTEGER;    (* txFace: SET OF StyleItem *)
  73.         spExtra*: TY.Fixed;
  74.         fgColor*, bkColor*: LONGINT;
  75.         colrBit*: INTEGER;
  76.         patStretch*: INTEGER;
  77.         picSave*, rgnSave*, polySave*: TY.Handle;
  78.         grafProcs: QDProcsPtr
  79.     END;
  80.     GrafPtr*= POINTER + TO GrafPort;
  81.     Globals* = RECORD +
  82.         (TY.Data)                                                                    (* QD offsets *)        (* Oberon offsets *)
  83.         randSeed*: LONGINT;                                                    (* -126 *)                    (* 0 *)
  84.         screenBits*: BitMap;                                                      (* -122 *)                    (* 4 *)
  85.         arrow*: Cursor;                                                              (* -108 *)                    (* 18 *)
  86.         dkGray*, ltGray*, gray*, black*, white*: Pattern;         (* -40, ... -8 *)            (* 86, 94, 102, 110, 118 *)
  87.         thePort*: GrafPtr                                                            (* 0 *)                          (* 126 *)
  88.     END;
  89.     GlobalsPtr* = POINTER + TO Globals;    (* Initialized to 0(A5) - 126 *)
  90.     globals*: GlobalsPtr;
  91. PROCEDURE - SetPort*(port: GrafPtr)    0A8H, 073H;
  92. PROCEDURE - GetPort*(VAR port: GrafPtr)    0A8H, 074H;
  93. PROCEDURE - SetOrigin*(h: INTEGER; v: INTEGER)    0A8H, 078H;
  94. PROCEDURE - SetClip*(rgn: RgnHandle)    0A8H, 079H;
  95. PROCEDURE - GetClip*(rgn: RgnHandle)    0A8H, 07AH;
  96. PROCEDURE - BackPat*(pat: Pattern)    0A8H, 07CH;
  97. PROCEDURE - SetCursor*(crsr: Cursor)    0A8H, 051H;
  98. PROCEDURE - HideCursor*()    0A8H, 052H;
  99. PROCEDURE - ShowCursor*()    0A8H, 053H;
  100. PROCEDURE - ObscureCursor    0A8H, 056H;
  101. PROCEDURE - InvertRect*(r: TY.Rect)    0A8H, 0A4H;
  102. PROCEDURE - FillRect*(r: TY.Rect; pat: Pattern)    0A8H, 0A5H;
  103. PROCEDURE - NewRgn*(): RgnHandle    0A8H, 0D8H;
  104. PROCEDURE - DisposeRgn*(rgn: RgnHandle)    0A8H, 0D9H;
  105. PROCEDURE - CopyRgn*(srcRgn: RgnHandle; dstRgn: RgnHandle)    0A8H, 0DCH;
  106. PROCEDURE - SetRectRgn*(rgn: RgnHandle; left: INTEGER; top: INTEGER; right: INTEGER; bottom: INTEGER)    0A8H, 0DEH;
  107. PROCEDURE - RectRgn*(rgn: RgnHandle;r: TY.Rect)    0A8H, 0DFH;
  108. PROCEDURE - SectRgn*(srcRgnA: RgnHandle; srcRgnB: RgnHandle; dstRgn: RgnHandle)    0A8H, 0E4H;
  109. PROCEDURE - DiffRgn*(srcRgnA: RgnHandle; srcRgnB: RgnHandle; dstRgn: RgnHandle)    0A8H, 0E6H;
  110. PROCEDURE - EmptyRgn*(rgn: RgnHandle): BOOLEAN    0A8H, 0E2H;
  111. PROCEDURE - PtInRgn*(pt: TY.Point; rgn: RgnHandle): BOOLEAN    0A8H, 0E8H;
  112. PROCEDURE - CopyBits(srcBits: BitMap; dstBits: BitMap; srcRect: TY.Rect;
  113.                                         dstRect: TY.Rect; mode: INTEGER; maskRgn: RgnHandle)    0A8H, 0ECH;
  114. PROCEDURE - LocalToGlobal*(VAR pt: TY.Point)    0A8H, 070H;
  115. PROCEDURE - GlobalToLocal*(VAR pt: TY.Point)    0A8H, 071H;
  116. PROCEDURE - StuffHex*(thingPtr: TY.Ptr; s: TY.Str255)    0A8H, 066H;
  117. BEGIN
  118.     SYSTEM.GETREG(13, globals); SYSTEM.GET(SYSTEM.VAL(LONGINT, globals), globals);    (* Mem[A5] *)
  119.     DEC(SYSTEM.VAL(LONGINT, globals), 126)
  120. END MacQuickDraw.
  121.